package com.xdjd.mobile.business.util;

import java.text.SimpleDateFormat;
import java.util.Date;

public class OrderUtil {
    /**
     * 生成订单号,规则:S+年月日+时间戳
     *
     * @return
     */
    public static String createOrderSaleNo() {
        return "S" + UUIDUtil.createOrderNo();
    }

    /**
     * 生成订单号,规则:R+年月日+时间戳
     *
     * @return
     */
    public static String createOrderRentNo() {
        return "R" + UUIDUtil.createOrderNo();
    }

    /**
     * 生成还款订单号,规则:R-+年月日+时间戳
     *
     * @return
     */
    public static String createRepaymentOrderNo() {
        return "R-" + UUIDUtil.createOrderNo();
    }

    /**
     * 生成回收订单号
     *
     * @return
     */
    public static String createRecycleOrderNo() {
        return "H" + UUIDUtil.createOrderNo();
    }

    /**
     * 生成提现订单号
     *
     * @return
     */
    public static String createWithdrawOrderNo() {
        return "TX" + UUIDUtil.createOrderNo();
    }

    /**
     * 生成优惠券标识号
     *
     * @return
     */
    public static String createWithdrawCouponsNo() {
        return "Y" + UUIDUtil.createOrderNo();
    }

    /**
     * 生成维修订单号
     *
     * @return
     */
    public static String createRepairOrderNo() {
        return "X" + UUIDUtil.createOrderNo();
    }

    /**
     * 生成维修订单号
     *
     * @return
     */
    public static String createRepairOrderNo(byte sendType) {
        return "X" + sendType + UUIDUtil.createOrderNo();
    }

    /**
     * 生成维修售后订单号
     *
     * @return
     */
    public static String createRepairAfterOrderNo() {
        return "SH" + UUIDUtil.createOrderNo();
    }

    /**
     * 生成废料上缴单号
     *
     * @return
     */
    public static String createWasteRecycleOrderNo() {
        return "FL_BACK" + UUIDUtil.createOrderNo();
    }

    /**
     * 生成物料申请单号
     *
     * @return
     */
    public static String createMaterialApplyOrderNo() {
        return "WL_APPLY" + UUIDUtil.createOrderNo();
    }

    /**
     * 生成物料归还单号
     *
     * @return
     */
    public static String createMaterialBackOrderNo() {
        return "WL_BACK" + UUIDUtil.createOrderNo();
    }

    /**
     * 生成出库记录单号
     *
     * @return
     */
    public static String createRepairOutRecordOrderNo() {
        return String.format("CK%s%s", new SimpleDateFormat(DateStyle.YYYYMMDD.getValue()).format(new Date()), (int) (Math.random() * (9999 - 1000 + 1)) + 1000);
    }
}
